As it is generally known, popular computer application programs today include those referred to as “electronic calendars” that enable users to keep track of calendar events. These systems enable users to enter and view their daily schedules through a graphical user interface. User activities can be entered and subsequently viewed as calendar activities, such as meetings, vacations, phone calls, etc. Typical electronic calendars enable a user to set up to alerts that are generated at a certain time and/or at recurring times. Some existing calendaring systems can be used to provide alert messages to groups of users, and to allow users to view each other's calendars. Group scheduling functions are also sometimes provided, allowing a user to set up meetings with other users. Meeting invitation messages may also be provided, conveyed for example by way of electronic mail (“e-mail”) messages, and responses to such invitations may be collected and processed.
Project management applications are another type of existing computer application program. Project management applications are used to monitor the resources, such as time and materials, needed for and/or allocated to a project. In existing project management applications, tasks to be completed during a project are entered into a database, the project management system determines dependencies between the tasks, and may further determine a critical path consisting of the series of tasks with the least amount of slack time.
Problems with existing systems relate to the lack of effective two-way integration between calendaring and project management applications. Specifically, existing systems lack an effective mechanism that associates time allocations in personal calendars with project requirements. Existing systems fail to effectively highlight issues caused by changes in personal electronic calendars of team members through a relevant project management user interface view. Existing systems also do not allow a project manager to conveniently take meaningful actions with regard to changes in the personal electronic calendars of team members, even when such changes have an impact on a project schedule. For example, existing systems do not provide a project manager with any mechanism allowing him to take actions such as approve, disapprove, auto-adjust schedule, etc., with regard to personal electronic calendars of team members in order to prevent non-project activities from having an impact on a project schedule. Existing systems accordingly also cannot convey any reason information regarding actions taken by a project manager with regard to team members' individual electronic calendars, for example to indicate why the project manager took a given action.
Some existing calendaring and scheduling applications, such as IBM's Lotus Notes® and Microsoft Outlook®, handle personal meetings and appointments so that they are easy for an individual user to manage. Existing project management (PM) tools, such as Microsoft Project®, handle tasks for many users to make managing a project plan easy everything runs on schedule. In addition, some software downloads from Microsoft allow exporting certain information from Microsoft Project to an Outlook calendar. While these downloads can be somewhat helpful, they are significantly limited in their effectiveness, and do not support using a team member's electronic calendar information to help flag problems and/or drive a project plan. Such existing systems further do not help a project manager conveniently adjust task assignments in a project plan as team members' schedules as become overloaded.